Implementation
Because UDP does not provide a
mechanism to ensure that data packets are delivered in sequential
order, or provide Quality of Service guarantees, VoIP implementations
face problems dealing with latency and jitter. This is especially
true when satellite circuits are involved, due to long round trip
propagation delay (400 milliseconds to 600 milliseconds for geostationary
satellite). The receiving node must restructure IP packets that
may be out of order, delayed or missing, while ensuring that the
audio stream maintains a proper time consistency. This functionality
is usually accomplished by means of a jitter buffer.
Another challenge is routing VoIP traffic through firewalls and address translators. Private Session
Border Controllers are used along with firewalls to enable VoIP calls to and from a protected enterprise network. Skype uses a
proprietary protocol to route calls through other Skype peers
on the network, allowing it to traverse symmetric NATs and firewalls.
Other methods to traverse firewalls involve using protocols such
as STUN or ICE.